[INFO] cloning repository https://github.com/NorthCarolinaRivalRobotics/d435i-zenoh-subscriber
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/NorthCarolinaRivalRobotics/d435i-zenoh-subscriber" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNorthCarolinaRivalRobotics%2Fd435i-zenoh-subscriber", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNorthCarolinaRivalRobotics%2Fd435i-zenoh-subscriber'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f64df14f5bd6e35966d0eb31455fc678a34cf54d
[INFO] fixing NorthCarolinaRivalRobotics/d435i-zenoh-subscriber against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNorthCarolinaRivalRobotics%2Fd435i-zenoh-subscriber" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/NorthCarolinaRivalRobotics/d435i-zenoh-subscriber
[INFO] finished tweaking git repo https://github.com/NorthCarolinaRivalRobotics/d435i-zenoh-subscriber
[INFO] tweaked toml for git repo https://github.com/NorthCarolinaRivalRobotics/d435i-zenoh-subscriber written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/NorthCarolinaRivalRobotics/d435i-zenoh-subscriber on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/NorthCarolinaRivalRobotics/d435i-zenoh-subscriber already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7da6a14b46b7e48eb9b159d9ec23315c2da7666fc3e2c40fe7b26272004d15e0
[INFO] running `Command { std: "docker" "start" "7da6a14b46b7e48eb9b159d9ec23315c2da7666fc3e2c40fe7b26272004d15e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7da6a14b46b7e48eb9b159d9ec23315c2da7666fc3e2c40fe7b26272004d15e0" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7da6a14b46b7e48eb9b159d9ec23315c2da7666fc3e2c40fe7b26272004d15e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7da6a14b46b7e48eb9b159d9ec23315c2da7666fc3e2c40fe7b26272004d15e0" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling zerocopy v0.8.25
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]     Checking bytes v1.10.1
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking rustls-pki-types v1.12.0
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling dyn-clone v1.0.19
[INFO] [stderr]    Compiling token-cell v1.5.0
[INFO] [stderr]    Compiling zenoh-macros v1.3.4
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling rustls v0.23.27
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking zenoh-result v1.3.4
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]     Checking humantime v2.2.0
[INFO] [stderr]     Checking deranged v0.4.0
[INFO] [stderr]     Checking no-std-net v0.6.0
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling cc v1.2.22
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking pnet_base v0.35.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]    Compiling pyo3-build-config v0.22.6
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking libloading v0.8.7
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.34
[INFO] [stderr]     Checking bytemuck v1.23.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking litemap v0.8.0
[INFO] [stderr]     Checking hashbrown v0.15.3
[INFO] [stderr]     Checking writeable v0.6.1
[INFO] [stderr]     Checking ucd-trie v0.1.7
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling icu_properties_data v2.0.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]     Checking siphasher v1.0.1
[INFO] [stderr]     Checking wide v0.7.32
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking socket2 v0.5.9
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking const_format v0.2.34
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking nanorand v0.7.0
[INFO] [stderr]     Checking pnet_sys v0.35.0
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking shellexpand v3.1.1
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking flume v0.11.1
[INFO] [stderr]     Checking zenoh-collections v1.3.4
[INFO] [stderr]     Checking openssl-probe v0.1.6
[INFO] [stderr]     Checking zenoh-buffers v1.3.4
[INFO] [stderr]    Compiling oid-registry v0.7.1
[INFO] [stderr]     Checking base64ct v1.7.3
[INFO] [stderr]     Checking rustls-native-certs v0.8.1
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling quinn-udp v0.5.12
[INFO] [stderr]     Checking http v1.3.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling keyed-set v1.0.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking pem-rfc7468 v0.7.0
[INFO] [stderr]     Checking tinyvec v1.9.0
[INFO] [stderr]     Checking rand v0.9.1
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling quinn v0.11.8
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking webpki-roots v1.0.0
[INFO] [stderr]     Checking rustc-hash v2.1.1
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]     Checking parking v2.2.1
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]     Checking lru-slab v0.1.2
[INFO] [stderr]     Checking event-listener v5.4.0
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]    Compiling zstd-sys v2.0.15+zstd.1.5.7
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]    Compiling pyo3-ffi v0.22.6
[INFO] [stderr]    Compiling pyo3-macros-backend v0.22.6
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling cmake v0.1.54
[INFO] [stderr]     Checking uuid v1.16.0
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking fastbloom v0.9.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking twox-hash v1.6.3
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking num-bigint-dig v0.8.4
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]    Compiling turbojpeg-sys v1.1.1
[INFO] [stderr]    Compiling pyo3 v0.22.6
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]    Compiling ref-cast v1.0.24
[INFO] [stderr]     Checking pkcs1 v0.7.5
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking array-init v2.1.0
[INFO] [stderr]     Checking lz4_flex v0.11.3
[INFO] [stderr]    Compiling zenoh v1.3.4
[INFO] [stderr]     Checking zenoh-crypto v1.3.4
[INFO] [stderr]     Checking ringbuffer-spsc v0.1.13
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]    Compiling indoc v2.0.6
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking unindent v0.2.4
[INFO] [stderr]    Compiling snap v1.1.1
[INFO] [stderr]    Compiling virtue v0.0.18
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking ndarray v0.16.1
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking simba v0.9.0
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking gcd v2.3.0
[INFO] [stderr]    Compiling unzip-n v0.1.2
[INFO] [stderr]     Checking image v0.25.6
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking unty v0.0.4
[INFO] [stderr]     Checking rsa v0.9.8
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]    Compiling bincode_derive v2.0.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking bincode v2.0.1
[INFO] [stderr]     Checking rustls-webpki v0.103.3
[INFO] [stderr]     Checking rustls-webpki v0.102.8
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking tokio v1.45.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling pest v2.8.0
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling asn1-rs-derive v0.5.1
[INFO] [stderr]    Compiling validated_struct_macros v2.1.1
[INFO] [stderr]    Compiling asn1-rs-impl v0.2.0
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling git-version-macro v0.3.9
[INFO] [stderr]    Compiling ref-cast-impl v1.0.24
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling pest_meta v2.8.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]     Checking asn1-rs v0.6.2
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]    Compiling serde_with_macros v3.12.0
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]     Checking zerovec v0.11.2
[INFO] [stderr]     Checking git-version v0.3.9
[INFO] [stderr]    Compiling nalgebra-macros v0.2.2
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]    Compiling pest_generator v2.8.0
[INFO] [stderr]     Checking nalgebra v0.33.2
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]    Compiling pyo3-macros v0.22.6
[INFO] [stderr]     Checking der-parser v9.0.0
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.2
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]    Compiling pest_derive v2.8.0
[INFO] [stderr]     Checking x509-parser v0.16.0
[INFO] [stderr]     Checking rustls-platform-verifier v0.5.3
[INFO] [stderr]     Checking quinn-proto v0.11.12
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking icu_properties v2.0.0
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]     Checking tokio-rustls v0.26.2
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking tls-listener v0.11.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking bitflags v2.9.0
[INFO] [stderr]     Checking ipnetwork v0.20.0
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking uhlc v0.8.0
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking nonempty-collections v0.3.0
[INFO] [stderr]     Checking serde_with v3.12.0
[INFO] [stderr]     Checking secrecy v0.8.0
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking pnet_datalink v0.35.0
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking turbojpeg v1.3.3
[INFO] [stderr]     Checking numpy v0.22.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking validated_struct v2.1.1
[INFO] [stderr]     Checking zenoh-keyexpr v1.3.4
[INFO] [stderr]     Checking zenoh-protocol v1.3.4
[INFO] [stderr]     Checking zenoh-codec v1.3.4
[INFO] [stderr]     Checking zenoh-runtime v1.3.4
[INFO] [stderr]     Checking zenoh-core v1.3.4
[INFO] [stderr]     Checking zenoh-util v1.3.4
[INFO] [stderr]     Checking zenoh-sync v1.3.4
[INFO] [stderr]     Checking zenoh-task v1.3.4
[INFO] [stderr]     Checking zenoh-link-commons v1.3.4
[INFO] [stderr]     Checking zenoh-config v1.3.4
[INFO] [stderr]     Checking zenoh-link-ws v1.3.4
[INFO] [stderr]     Checking zenoh-link-unixsock_stream v1.3.4
[INFO] [stderr]     Checking zenoh-link-udp v1.3.4
[INFO] [stderr]     Checking zenoh-link-tcp v1.3.4
[INFO] [stderr]     Checking zenoh-link-tls v1.3.4
[INFO] [stderr]     Checking zenoh-link-quic v1.3.4
[INFO] [stderr]     Checking zenoh-plugin-trait v1.3.4
[INFO] [stderr]     Checking zenoh-link v1.3.4
[INFO] [stderr]     Checking zenoh-transport v1.3.4
[INFO] [stderr]     Checking zenoh-d435i-subscriber v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `zenoh_d435i_subscriber`
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                   ^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  --> src/lib.rs
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                                  ^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   = cause: error: expected item, found `{`
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:45
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                                             ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              --> src/lib.rs:30:1
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:54
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                                                      ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:64
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                                                                ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            30 | { unsafe #[pymethods]}
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:74
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                                                                          ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               | ^ expected item
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn __repr__(&self) -> String {
[INFO] [stdout]    |                 ^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/lib.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[pymethods]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:54:22
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn new(rotation: Vec<f32>, translation: Vec<f32>) -> PyResult<Self> {
[INFO] [stdout]    |                      ^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:54:45
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn new(rotation: Vec<f32>, translation: Vec<f32>) -> PyResult<Self> {
[INFO] [stdout]    |                                             ^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |     fn __repr__(&self) -> String {
[INFO] [stdout]    |                 ^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/lib.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | #[pymethods]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn get_data<'py>(&self, py: Python<'py>) -> Bound<'py, PyBytes> {
[INFO] [stdout]     |                      ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error: aborting due to 1 previous error
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn __repr__(&self) -> String {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:153:22
[INFO] [stdout]     |
[INFO] [stdout] 153 |     fn get_data<'py>(&mut self, py: Python<'py>) -> Bound<'py, PyArray1<f32>> {
[INFO] [stdout]     |                      ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:158:25
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn get_data_2d<'py>(&mut self, py: Python<'py>) -> PyResult<Bound<'py, PyArray2<f32>>> {
[INFO] [stdout]     |                         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:166:26
[INFO] [stdout]     |
[INFO] [stdout] 166 |     fn get_raw_data<'py>(&self, py: Python<'py>) -> Bound<'py, PyArray1<u16>> {
[INFO] [stdout]     |                          ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:170:17
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn __repr__(&self) -> String {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:192:17
[INFO] [stdout]     |
[INFO] [stdout] 192 |     fn __repr__(&self) -> String {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/lib.rs:332:27
[INFO] [stdout]     |
[INFO] [stdout] 332 |                       match combined_subscriber.recv_async().await {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                             |                                |
[INFO] [stdout]     |                             |                                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                             |                                up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                             |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             |                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                             up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 333 |                           Ok(sample) => {
[INFO] [stdout]     |                              ------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `sample` calls a custom destructor
[INFO] [stdout]     |                              `sample` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 352 | /                             tokio::task::spawn_blocking(move || {
[INFO] [stdout] 353 | |                                 let process_start = Instant::now();
[INFO] [stdout] ...   |
[INFO] [stdout] 397 | |                             });
[INFO] [stdout]     | |                              -
[INFO] [stdout]     | |                              |
[INFO] [stdout]     | |______________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 419 |                           Err(e) => {
[INFO] [stdout]     |                               -
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `e` calls a custom destructor
[INFO] [stdout]     |                               `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 424 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/flume-0.11.1/src/async.rs:481:1
[INFO] [stdout]     |
[INFO] [stdout] 481 | impl<'a, T> Drop for RecvFut<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/flume-0.11.1/src/async.rs:481:1
[INFO] [stdout]     |
[INFO] [stdout] 481 | impl<'a, T> Drop for RecvFut<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `sample` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.0/src/runtime/task/join.rs:351:1
[INFO] [stdout]     |
[INFO] [stdout] 351 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/lib.rs:435:27
[INFO] [stdout]     |
[INFO] [stdout] 435 |                     match motion_subscriber.recv_async().await {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                           |                              |
[INFO] [stdout]     |                           |                              this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                           |                              up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           |                              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           `__awaitee` calls a custom destructor
[INFO] [stdout]     |                           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 436 |                         Ok(sample) => {
[INFO] [stdout]     |                            ------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `sample` calls a custom destructor
[INFO] [stdout]     |                            `sample` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 449 |                             if let Ok(mut motion_lock) = motion_store.try_lock() {
[INFO] [stdout]     |                                       ---------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `motion_lock` calls a custom destructor
[INFO] [stdout]     |                                       `motion_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 453 |                         Err(e) => {
[INFO] [stdout]     |                             -
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `e` calls a custom destructor
[INFO] [stdout]     |                             `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 458 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/flume-0.11.1/src/async.rs:481:1
[INFO] [stdout]     |
[INFO] [stdout] 481 | impl<'a, T> Drop for RecvFut<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/flume-0.11.1/src/async.rs:481:1
[INFO] [stdout]     |
[INFO] [stdout] 481 | impl<'a, T> Drop for RecvFut<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `sample` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `motion_lock` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:272:16
[INFO] [stdout]     |
[INFO] [stdout] 272 |     fn connect(&mut self) -> PyResult<()> {
[INFO] [stdout]     |                ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:282:29
[INFO] [stdout]     |
[INFO] [stdout] 282 |     fn set_depth_intrinsics(&mut self, intrinsics: PyIntrinsics) {
[INFO] [stdout]     |                             ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:282:52
[INFO] [stdout]     |
[INFO] [stdout] 282 |     fn set_depth_intrinsics(&mut self, intrinsics: PyIntrinsics) {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:286:29
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn set_color_intrinsics(&mut self, intrinsics: PyIntrinsics) {
[INFO] [stdout]     |                             ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:286:52
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn set_color_intrinsics(&mut self, intrinsics: PyIntrinsics) {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:290:23
[INFO] [stdout]     |
[INFO] [stdout] 290 |     fn set_extrinsics(&mut self, extrinsics: PyExtrinsics) {
[INFO] [stdout]     |                       ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:290:46
[INFO] [stdout]     |
[INFO] [stdout] 290 |     fn set_extrinsics(&mut self, extrinsics: PyExtrinsics) {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:295:26
[INFO] [stdout]     |
[INFO] [stdout] 295 |     fn start_subscribing(&mut self) -> PyResult<()> {
[INFO] [stdout]     |                          ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:470:26
[INFO] [stdout]     |
[INFO] [stdout] 470 |     fn get_latest_frames(&self) -> PyFrameData {
[INFO] [stdout]     |                          ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:500:21
[INFO] [stdout]     |
[INFO] [stdout] 500 |     fn has_new_data(&self) -> bool {
[INFO] [stdout]     |                     ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:505:18
[INFO] [stdout]     |
[INFO] [stdout] 505 |     fn get_stats(&self) -> String {
[INFO] [stdout]     |                  ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:543:13
[INFO] [stdout]     |
[INFO] [stdout] 543 |     fn stop(&mut self) {
[INFO] [stdout]     |             ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:548:19
[INFO] [stdout]     |
[INFO] [stdout] 548 |     fn is_running(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:553:20
[INFO] [stdout]     |
[INFO] [stdout] 553 |     fn reset_stats(&self) {
[INFO] [stdout]     |                    ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/lib.rs:471:22
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let rgb = if let Ok(rgb_lock) = self.latest_rgb.try_lock() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/lib.rs:473:9
[INFO] [stdout]     |
[INFO] [stdout] 473 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 471 ~         let rgb = match self.latest_rgb.try_lock() { Ok(rgb_lock) => {
[INFO] [stdout] 472 |             rgb_lock.clone()
[INFO] [stdout] 473 ~         } _ => {
[INFO] [stdout] 474 |             None
[INFO] [stdout] 475 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/lib.rs:477:24
[INFO] [stdout]     |
[INFO] [stdout] 477 |         let depth = if let Ok(depth_lock) = self.latest_depth.try_lock() {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^----------------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/lib.rs:479:9
[INFO] [stdout]     |
[INFO] [stdout] 479 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 477 ~         let depth = match self.latest_depth.try_lock() { Ok(depth_lock) => {
[INFO] [stdout] 478 |             depth_lock.clone()
[INFO] [stdout] 479 ~         } _ => {
[INFO] [stdout] 480 |             None
[INFO] [stdout] 481 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/lib.rs:483:25
[INFO] [stdout]     |
[INFO] [stdout] 483 |         let motion = if let Ok(motion_lock) = self.latest_motion.try_lock() {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/lib.rs:485:9
[INFO] [stdout]     |
[INFO] [stdout] 485 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 483 ~         let motion = match self.latest_motion.try_lock() { Ok(motion_lock) => {
[INFO] [stdout] 484 |             motion_lock.clone()
[INFO] [stdout] 485 ~         } _ => {
[INFO] [stdout] 486 |             None
[INFO] [stdout] 487 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/lib.rs:512:26
[INFO] [stdout]     |
[INFO] [stdout] 512 |         let has_rgb = if let Ok(rgb_lock) = self.latest_rgb.try_lock() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/lib.rs:514:9
[INFO] [stdout]     |
[INFO] [stdout] 514 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 512 ~         let has_rgb = match self.latest_rgb.try_lock() { Ok(rgb_lock) => {
[INFO] [stdout] 513 |             rgb_lock.is_some()
[INFO] [stdout] 514 ~         } _ => {
[INFO] [stdout] 515 |             false
[INFO] [stdout] 516 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/lib.rs:518:28
[INFO] [stdout]     |
[INFO] [stdout] 518 |         let has_depth = if let Ok(depth_lock) = self.latest_depth.try_lock() {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^----------------------------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/lib.rs:520:9
[INFO] [stdout]     |
[INFO] [stdout] 520 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 518 ~         let has_depth = match self.latest_depth.try_lock() { Ok(depth_lock) => {
[INFO] [stdout] 519 |             depth_lock.is_some()
[INFO] [stdout] 520 ~         } _ => {
[INFO] [stdout] 521 |             false
[INFO] [stdout] 522 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/lib.rs:524:29
[INFO] [stdout]     |
[INFO] [stdout] 524 |         let has_motion = if let Ok(motion_lock) = self.latest_motion.try_lock() {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/lib.rs:526:9
[INFO] [stdout]     |
[INFO] [stdout] 526 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 524 ~         let has_motion = match self.latest_motion.try_lock() { Ok(motion_lock) => {
[INFO] [stdout] 525 |             motion_lock.is_some()
[INFO] [stdout] 526 ~         } _ => {
[INFO] [stdout] 527 |             false
[INFO] [stdout] 528 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                   ^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: errors present after applying fixes to crate `zenoh_d435i_subscriber`
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                                  ^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  --> src/lib.rs
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:45
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                                             ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   = cause: error: expected item, found `{`
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:54
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                                                      ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              --> src/lib.rs:30:1
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:64
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                                                                ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:74
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                                                                          ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            30 | { unsafe #[pymethods]}
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn __repr__(&self) -> String {
[INFO] [stdout]    |                 ^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/lib.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[pymethods]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               | ^ expected item
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:54:22
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn new(rotation: Vec<f32>, translation: Vec<f32>) -> PyResult<Self> {
[INFO] [stdout]    |                      ^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:54:45
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn new(rotation: Vec<f32>, translation: Vec<f32>) -> PyResult<Self> {
[INFO] [stdout]    |                                             ^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |     fn __repr__(&self) -> String {
[INFO] [stdout]    |                 ^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/lib.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | #[pymethods]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn get_data<'py>(&self, py: Python<'py>) -> Bound<'py, PyBytes> {
[INFO] [stdout]     |                      ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn __repr__(&self) -> String {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error: aborting due to 1 previous error
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:153:22
[INFO] [stdout]     |
[INFO] [stdout] 153 |     fn get_data<'py>(&mut self, py: Python<'py>) -> Bound<'py, PyArray1<f32>> {
[INFO] [stdout]     |                      ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:158:25
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn get_data_2d<'py>(&mut self, py: Python<'py>) -> PyResult<Bound<'py, PyArray2<f32>>> {
[INFO] [stdout]     |                         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:166:26
[INFO] [stdout]     |
[INFO] [stdout] 166 |     fn get_raw_data<'py>(&self, py: Python<'py>) -> Bound<'py, PyArray1<u16>> {
[INFO] [stdout]     |                          ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:170:17
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn __repr__(&self) -> String {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:192:17
[INFO] [stdout]     |
[INFO] [stdout] 192 |     fn __repr__(&self) -> String {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/lib.rs:332:27
[INFO] [stdout]     |
[INFO] [stdout] 332 |                       match combined_subscriber.recv_async().await {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                             |                                |
[INFO] [stdout]     |                             |                                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                             |                                up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                             |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             |                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                             up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 333 |                           Ok(sample) => {
[INFO] [stdout]     |                              ------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `sample` calls a custom destructor
[INFO] [stdout]     |                              `sample` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 352 | /                             tokio::task::spawn_blocking(move || {
[INFO] [stdout] 353 | |                                 let process_start = Instant::now();
[INFO] [stdout] ...   |
[INFO] [stdout] 397 | |                             });
[INFO] [stdout]     | |                              -
[INFO] [stdout]     | |                              |
[INFO] [stdout]     | |______________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 419 |                           Err(e) => {
[INFO] [stdout]     |                               -
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `e` calls a custom destructor
[INFO] [stdout]     |                               `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 424 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/flume-0.11.1/src/async.rs:481:1
[INFO] [stdout]     |
[INFO] [stdout] 481 | impl<'a, T> Drop for RecvFut<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/flume-0.11.1/src/async.rs:481:1
[INFO] [stdout]     |
[INFO] [stdout] 481 | impl<'a, T> Drop for RecvFut<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `sample` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.0/src/runtime/task/join.rs:351:1
[INFO] [stdout]     |
[INFO] [stdout] 351 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/lib.rs:435:27
[INFO] [stdout]     |
[INFO] [stdout] 435 |                     match motion_subscriber.recv_async().await {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                           |                              |
[INFO] [stdout]     |                           |                              this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                           |                              up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           |                              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           `__awaitee` calls a custom destructor
[INFO] [stdout]     |                           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 436 |                         Ok(sample) => {
[INFO] [stdout]     |                            ------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `sample` calls a custom destructor
[INFO] [stdout]     |                            `sample` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 449 |                             if let Ok(mut motion_lock) = motion_store.try_lock() {
[INFO] [stdout]     |                                       ---------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `motion_lock` calls a custom destructor
[INFO] [stdout]     |                                       `motion_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 453 |                         Err(e) => {
[INFO] [stdout]     |                             -
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `e` calls a custom destructor
[INFO] [stdout]     |                             `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 458 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/flume-0.11.1/src/async.rs:481:1
[INFO] [stdout]     |
[INFO] [stdout] 481 | impl<'a, T> Drop for RecvFut<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/flume-0.11.1/src/async.rs:481:1
[INFO] [stdout]     |
[INFO] [stdout] 481 | impl<'a, T> Drop for RecvFut<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `sample` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `motion_lock` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:272:16
[INFO] [stdout]     |
[INFO] [stdout] 272 |     fn connect(&mut self) -> PyResult<()> {
[INFO] [stdout]     |                ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:282:29
[INFO] [stdout]     |
[INFO] [stdout] 282 |     fn set_depth_intrinsics(&mut self, intrinsics: PyIntrinsics) {
[INFO] [stdout]     |                             ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:282:52
[INFO] [stdout]     |
[INFO] [stdout] 282 |     fn set_depth_intrinsics(&mut self, intrinsics: PyIntrinsics) {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:286:29
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn set_color_intrinsics(&mut self, intrinsics: PyIntrinsics) {
[INFO] [stdout]     |                             ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:286:52
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn set_color_intrinsics(&mut self, intrinsics: PyIntrinsics) {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:290:23
[INFO] [stdout]     |
[INFO] [stdout] 290 |     fn set_extrinsics(&mut self, extrinsics: PyExtrinsics) {
[INFO] [stdout]     |                       ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:290:46
[INFO] [stdout]     |
[INFO] [stdout] 290 |     fn set_extrinsics(&mut self, extrinsics: PyExtrinsics) {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:295:26
[INFO] [stdout]     |
[INFO] [stdout] 295 |     fn start_subscribing(&mut self) -> PyResult<()> {
[INFO] [stdout]     |                          ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:470:26
[INFO] [stdout]     |
[INFO] [stdout] 470 |     fn get_latest_frames(&self) -> PyFrameData {
[INFO] [stdout]     |                          ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:500:21
[INFO] [stdout]     |
[INFO] [stdout] 500 |     fn has_new_data(&self) -> bool {
[INFO] [stdout]     |                     ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:505:18
[INFO] [stdout]     |
[INFO] [stdout] 505 |     fn get_stats(&self) -> String {
[INFO] [stdout]     |                  ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:543:13
[INFO] [stdout]     |
[INFO] [stdout] 543 |     fn stop(&mut self) {
[INFO] [stdout]     |             ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:548:19
[INFO] [stdout]     |
[INFO] [stdout] 548 |     fn is_running(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:553:20
[INFO] [stdout]     |
[INFO] [stdout] 553 |     fn reset_stats(&self) {
[INFO] [stdout]     |                    ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/lib.rs:471:22
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let rgb = if let Ok(rgb_lock) = self.latest_rgb.try_lock() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/lib.rs:473:9
[INFO] [stdout]     |
[INFO] [stdout] 473 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 471 ~         let rgb = match self.latest_rgb.try_lock() { Ok(rgb_lock) => {
[INFO] [stdout] 472 |             rgb_lock.clone()
[INFO] [stdout] 473 ~         } _ => {
[INFO] [stdout] 474 |             None
[INFO] [stdout] 475 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/lib.rs:477:24
[INFO] [stdout]     |
[INFO] [stdout] 477 |         let depth = if let Ok(depth_lock) = self.latest_depth.try_lock() {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^----------------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/lib.rs:479:9
[INFO] [stdout]     |
[INFO] [stdout] 479 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 477 ~         let depth = match self.latest_depth.try_lock() { Ok(depth_lock) => {
[INFO] [stdout] 478 |             depth_lock.clone()
[INFO] [stdout] 479 ~         } _ => {
[INFO] [stdout] 480 |             None
[INFO] [stdout] 481 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/lib.rs:483:25
[INFO] [stdout]     |
[INFO] [stdout] 483 |         let motion = if let Ok(motion_lock) = self.latest_motion.try_lock() {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/lib.rs:485:9
[INFO] [stdout]     |
[INFO] [stdout] 485 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 483 ~         let motion = match self.latest_motion.try_lock() { Ok(motion_lock) => {
[INFO] [stdout] 484 |             motion_lock.clone()
[INFO] [stdout] 485 ~         } _ => {
[INFO] [stdout] 486 |             None
[INFO] [stdout] 487 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/lib.rs:512:26
[INFO] [stdout]     |
[INFO] [stdout] 512 |         let has_rgb = if let Ok(rgb_lock) = self.latest_rgb.try_lock() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/lib.rs:514:9
[INFO] [stdout]     |
[INFO] [stdout] 514 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 512 ~         let has_rgb = match self.latest_rgb.try_lock() { Ok(rgb_lock) => {
[INFO] [stdout] 513 |             rgb_lock.is_some()
[INFO] [stdout] 514 ~         } _ => {
[INFO] [stdout] 515 |             false
[INFO] [stdout] 516 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/lib.rs:518:28
[INFO] [stdout]     |
[INFO] [stdout] 518 |         let has_depth = if let Ok(depth_lock) = self.latest_depth.try_lock() {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^----------------------------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/lib.rs:520:9
[INFO] [stdout]     |
[INFO] [stdout] 520 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 518 ~         let has_depth = match self.latest_depth.try_lock() { Ok(depth_lock) => {
[INFO] [stdout] 519 |             depth_lock.is_some()
[INFO] [stdout] 520 ~         } _ => {
[INFO] [stdout] 521 |             false
[INFO] [stdout] 522 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/lib.rs:524:29
[INFO] [stdout]     |
[INFO] [stdout] 524 |         let has_motion = if let Ok(motion_lock) = self.latest_motion.try_lock() {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/lib.rs:526:9
[INFO] [stdout]     |
[INFO] [stdout] 526 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 524 ~         let has_motion = match self.latest_motion.try_lock() { Ok(motion_lock) => {
[INFO] [stdout] 525 |             motion_lock.is_some()
[INFO] [stdout] 526 ~         } _ => {
[INFO] [stdout] 527 |             false
[INFO] [stdout] 528 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 07s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: num-bigint-dig v0.8.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr] crater-edition-check: zenoh-d435i-subscriber v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking zenoh-d435i-subscriber v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `types::*`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use types::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `types::*`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use types::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/types.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut real_units = DepthFrameRealUnits {
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ImageEncoding` is never used
[INFO] [stdout]   --> src/types.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum ImageEncoding {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RGB8Local` is never constructed
[INFO] [stdout]   --> src/types.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct RGB8Local {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEPTH_SCALE_FACTOR` is never used
[INFO] [stdout]   --> src/types.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const DEPTH_SCALE_FACTOR: u16 = 8738; // multiply by this to convert meters to u16
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MINIMUM_DISTANCE_METERS` is never used
[INFO] [stdout]   --> src/types.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const MINIMUM_DISTANCE_METERS: f32 = 0.5;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_meters_to_u16` is never used
[INFO] [stdout]   --> src/types.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn encode_meters_to_u16(meters: f32)     -> u16 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_u16_to_meters` is never used
[INFO] [stdout]   --> src/types.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn decode_u16_to_meters(code: u16) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DepthFrameSerializable` is never constructed
[INFO] [stdout]   --> src/types.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct DepthFrameSerializable {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StampedTriple` is never constructed
[INFO] [stdout]   --> src/types.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct StampedTriple {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DepthFrameRealUnits` is never constructed
[INFO] [stdout]   --> src/types.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct DepthFrameRealUnits {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImageForWire` is never constructed
[INFO] [stdout]   --> src/types.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct ImageForWire {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ColorFrameSerializable` is never constructed
[INFO] [stdout]   --> src/types.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct ColorFrameSerializable {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `encodeAndCompress` and `decodeAndDecompress` are never used
[INFO] [stdout]   --> src/types.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl DepthFrameSerializable {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout] 78 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> DepthFrameRealUnits {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `encodeAndCompress` and `decodeAndDecompress` are never used
[INFO] [stdout]    --> src/types.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl ColorFrameSerializable {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout] 105 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> (Vec<u8>, f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Intrinsics` is never constructed
[INFO] [stdout]    --> src/types.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct Intrinsics {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Extrinsics` is never constructed
[INFO] [stdout]    --> src/types.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct Extrinsics {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MotionFrameData` is never constructed
[INFO] [stdout]    --> src/types.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub struct MotionFrameData {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `encodeAndCompress`, and `decodeAndDecompress` are never used
[INFO] [stdout]    --> src/types.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 160 | impl MotionFrameData {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 161 |     pub fn new(gyro: [f32; 3], accel: [f32; 3], timestamp: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Frame` is never used
[INFO] [stdout]    --> src/types.rs:178:10
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub enum Frame {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ts` is never used
[INFO] [stdout]    --> src/types.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 183 | impl Frame {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 184 |     pub fn ts(&self) -> f64 {
[INFO] [stdout]     |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CombinedFrameWire` is never constructed
[INFO] [stdout]    --> src/types.rs:195:12
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub struct CombinedFrameWire {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `encode`, `decode`, and `unpack` are never used
[INFO] [stdout]    --> src/types.rs:208:12
[INFO] [stdout]     |
[INFO] [stdout] 205 | impl CombinedFrameWire {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub fn encode(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn decode(buf: &[u8]) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub fn unpack(&self) -> (Vec<u8>, Vec<u16>, u16, u16, f64) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encodeAndCompress` should have a snake case name
[INFO] [stdout]   --> src/types.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `encode_and_compress`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decodeAndDecompress` should have a snake case name
[INFO] [stdout]   --> src/types.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> DepthFrameRealUnits {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_and_decompress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encodeAndCompress` should have a snake case name
[INFO] [stdout]    --> src/types.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `encode_and_compress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decodeAndDecompress` should have a snake case name
[INFO] [stdout]    --> src/types.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> (Vec<u8>, f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_and_decompress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encodeAndCompress` should have a snake case name
[INFO] [stdout]    --> src/types.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `encode_and_compress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decodeAndDecompress` should have a snake case name
[INFO] [stdout]    --> src/types.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_and_decompress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/types.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut real_units = DepthFrameRealUnits {
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ImageEncoding` is never used
[INFO] [stdout]   --> src/types.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum ImageEncoding {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RGB8Local` is never constructed
[INFO] [stdout]   --> src/types.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct RGB8Local {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEPTH_SCALE_FACTOR` is never used
[INFO] [stdout]   --> src/types.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const DEPTH_SCALE_FACTOR: u16 = 8738; // multiply by this to convert meters to u16
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MINIMUM_DISTANCE_METERS` is never used
[INFO] [stdout]   --> src/types.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const MINIMUM_DISTANCE_METERS: f32 = 0.5;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_meters_to_u16` is never used
[INFO] [stdout]   --> src/types.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn encode_meters_to_u16(meters: f32)     -> u16 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_u16_to_meters` is never used
[INFO] [stdout]   --> src/types.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn decode_u16_to_meters(code: u16) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DepthFrameSerializable` is never constructed
[INFO] [stdout]   --> src/types.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct DepthFrameSerializable {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StampedTriple` is never constructed
[INFO] [stdout]   --> src/types.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct StampedTriple {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DepthFrameRealUnits` is never constructed
[INFO] [stdout]   --> src/types.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct DepthFrameRealUnits {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImageForWire` is never constructed
[INFO] [stdout]   --> src/types.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct ImageForWire {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ColorFrameSerializable` is never constructed
[INFO] [stdout]   --> src/types.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct ColorFrameSerializable {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `encodeAndCompress` and `decodeAndDecompress` are never used
[INFO] [stdout]   --> src/types.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl DepthFrameSerializable {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout] 78 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> DepthFrameRealUnits {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `encodeAndCompress` and `decodeAndDecompress` are never used
[INFO] [stdout]    --> src/types.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl ColorFrameSerializable {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout] 105 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> (Vec<u8>, f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Intrinsics` is never constructed
[INFO] [stdout]    --> src/types.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct Intrinsics {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Extrinsics` is never constructed
[INFO] [stdout]    --> src/types.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct Extrinsics {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MotionFrameData` is never constructed
[INFO] [stdout]    --> src/types.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub struct MotionFrameData {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `encodeAndCompress`, and `decodeAndDecompress` are never used
[INFO] [stdout]    --> src/types.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 160 | impl MotionFrameData {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 161 |     pub fn new(gyro: [f32; 3], accel: [f32; 3], timestamp: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Frame` is never used
[INFO] [stdout]    --> src/types.rs:178:10
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub enum Frame {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ts` is never used
[INFO] [stdout]    --> src/types.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 183 | impl Frame {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 184 |     pub fn ts(&self) -> f64 {
[INFO] [stdout]     |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CombinedFrameWire` is never constructed
[INFO] [stdout]    --> src/types.rs:195:12
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub struct CombinedFrameWire {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `encode`, `decode`, and `unpack` are never used
[INFO] [stdout]    --> src/types.rs:208:12
[INFO] [stdout]     |
[INFO] [stdout] 205 | impl CombinedFrameWire {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub fn encode(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn decode(buf: &[u8]) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub fn unpack(&self) -> (Vec<u8>, Vec<u16>, u16, u16, f64) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encodeAndCompress` should have a snake case name
[INFO] [stdout]   --> src/types.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `encode_and_compress`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decodeAndDecompress` should have a snake case name
[INFO] [stdout]   --> src/types.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> DepthFrameRealUnits {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_and_decompress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encodeAndCompress` should have a snake case name
[INFO] [stdout]    --> src/types.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `encode_and_compress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decodeAndDecompress` should have a snake case name
[INFO] [stdout]    --> src/types.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> (Vec<u8>, f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_and_decompress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encodeAndCompress` should have a snake case name
[INFO] [stdout]    --> src/types.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `encode_and_compress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decodeAndDecompress` should have a snake case name
[INFO] [stdout]    --> src/types.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_and_decompress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/types.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut real_units = DepthFrameRealUnits {
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                   ^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                                  ^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:45
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                                             ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:54
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                                                      ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:64
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                                                                ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:74
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                                                                          ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn __repr__(&self) -> String {
[INFO] [stdout]    |                 ^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/lib.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[pymethods]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:54:22
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn new(rotation: Vec<f32>, translation: Vec<f32>) -> PyResult<Self> {
[INFO] [stdout]    |                      ^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:54:45
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn new(rotation: Vec<f32>, translation: Vec<f32>) -> PyResult<Self> {
[INFO] [stdout]    |                                             ^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |     fn __repr__(&self) -> String {
[INFO] [stdout]    |                 ^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/lib.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | #[pymethods]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn get_data<'py>(&self, py: Python<'py>) -> Bound<'py, PyBytes> {
[INFO] [stdout]     |                      ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn __repr__(&self) -> String {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/types.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut real_units = DepthFrameRealUnits {
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:153:22
[INFO] [stdout]     |
[INFO] [stdout] 153 |     fn get_data<'py>(&mut self, py: Python<'py>) -> Bound<'py, PyArray1<f32>> {
[INFO] [stdout]     |                      ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:158:25
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn get_data_2d<'py>(&mut self, py: Python<'py>) -> PyResult<Bound<'py, PyArray2<f32>>> {
[INFO] [stdout]     |                         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:166:26
[INFO] [stdout]     |
[INFO] [stdout] 166 |     fn get_raw_data<'py>(&self, py: Python<'py>) -> Bound<'py, PyArray1<u16>> {
[INFO] [stdout]     |                          ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:170:17
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn __repr__(&self) -> String {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:192:17
[INFO] [stdout]     |
[INFO] [stdout] 192 |     fn __repr__(&self) -> String {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                   ^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                                  ^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:45
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                                             ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:54
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                                                      ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:64
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                                                                ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:33:74
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn new(width: usize, height: usize, fx: f32, fy: f32, ppx: f32, ppy: f32) -> Self {
[INFO] [stdout]    |                                                                          ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn __repr__(&self) -> String {
[INFO] [stdout]    |                 ^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/lib.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[pymethods]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:272:16
[INFO] [stdout]     |
[INFO] [stdout] 272 |     fn connect(&mut self) -> PyResult<()> {
[INFO] [stdout]     |                ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:282:29
[INFO] [stdout]     |
[INFO] [stdout] 282 |     fn set_depth_intrinsics(&mut self, intrinsics: PyIntrinsics) {
[INFO] [stdout]     |                             ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:282:52
[INFO] [stdout]     |
[INFO] [stdout] 282 |     fn set_depth_intrinsics(&mut self, intrinsics: PyIntrinsics) {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:54:22
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn new(rotation: Vec<f32>, translation: Vec<f32>) -> PyResult<Self> {
[INFO] [stdout]    |                      ^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:54:45
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn new(rotation: Vec<f32>, translation: Vec<f32>) -> PyResult<Self> {
[INFO] [stdout]    |                                             ^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:286:29
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn set_color_intrinsics(&mut self, intrinsics: PyIntrinsics) {
[INFO] [stdout]     |                             ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:286:52
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn set_color_intrinsics(&mut self, intrinsics: PyIntrinsics) {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:290:23
[INFO] [stdout]     |
[INFO] [stdout] 290 |     fn set_extrinsics(&mut self, extrinsics: PyExtrinsics) {
[INFO] [stdout]     |                       ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:290:46
[INFO] [stdout]     |
[INFO] [stdout] 290 |     fn set_extrinsics(&mut self, extrinsics: PyExtrinsics) {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:295:26
[INFO] [stdout]     |
[INFO] [stdout] 295 |     fn start_subscribing(&mut self) -> PyResult<()> {
[INFO] [stdout]     |                          ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |     fn __repr__(&self) -> String {
[INFO] [stdout]    |                 ^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/lib.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | #[pymethods]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:470:26
[INFO] [stdout]     |
[INFO] [stdout] 470 |     fn get_latest_frames(&self) -> PyFrameData {
[INFO] [stdout]     |                          ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:500:21
[INFO] [stdout]     |
[INFO] [stdout] 500 |     fn has_new_data(&self) -> bool {
[INFO] [stdout]     |                     ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:505:18
[INFO] [stdout]     |
[INFO] [stdout] 505 |     fn get_stats(&self) -> String {
[INFO] [stdout]     |                  ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:543:13
[INFO] [stdout]     |
[INFO] [stdout] 543 |     fn stop(&mut self) {
[INFO] [stdout]     |             ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:548:19
[INFO] [stdout]     |
[INFO] [stdout] 548 |     fn is_running(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn get_data<'py>(&self, py: Python<'py>) -> Bound<'py, PyBytes> {
[INFO] [stdout]     |                      ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:553:20
[INFO] [stdout]     |
[INFO] [stdout] 553 |     fn reset_stats(&self) {
[INFO] [stdout]     |                    ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn __repr__(&self) -> String {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ImageEncoding` is never used
[INFO] [stdout]   --> src/types.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum ImageEncoding {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RGB8Local` is never constructed
[INFO] [stdout]   --> src/types.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct RGB8Local {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_meters_to_u16` is never used
[INFO] [stdout]   --> src/types.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn encode_meters_to_u16(meters: f32)     -> u16 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StampedTriple` is never constructed
[INFO] [stdout]   --> src/types.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct StampedTriple {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DepthFrameRealUnits` is never constructed
[INFO] [stdout]   --> src/types.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct DepthFrameRealUnits {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImageForWire` is never constructed
[INFO] [stdout]   --> src/types.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct ImageForWire {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ColorFrameSerializable` is never constructed
[INFO] [stdout]   --> src/types.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct ColorFrameSerializable {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `encodeAndCompress` and `decodeAndDecompress` are never used
[INFO] [stdout]   --> src/types.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl DepthFrameSerializable {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout] 78 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> DepthFrameRealUnits {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `encodeAndCompress` and `decodeAndDecompress` are never used
[INFO] [stdout]    --> src/types.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl ColorFrameSerializable {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout] 105 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> (Vec<u8>, f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Intrinsics` is never constructed
[INFO] [stdout]    --> src/types.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct Intrinsics {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Extrinsics` is never constructed
[INFO] [stdout]    --> src/types.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct Extrinsics {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `encodeAndCompress` are never used
[INFO] [stdout]    --> src/types.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 160 | impl MotionFrameData {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 161 |     pub fn new(gyro: [f32; 3], accel: [f32; 3], timestamp: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Frame` is never used
[INFO] [stdout]    --> src/types.rs:178:10
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub enum Frame {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ts` is never used
[INFO] [stdout]    --> src/types.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 183 | impl Frame {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 184 |     pub fn ts(&self) -> f64 {
[INFO] [stdout]     |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:153:22
[INFO] [stdout]     |
[INFO] [stdout] 153 |     fn get_data<'py>(&mut self, py: Python<'py>) -> Bound<'py, PyArray1<f32>> {
[INFO] [stdout]     |                      ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `encode` and `unpack` are never used
[INFO] [stdout]    --> src/types.rs:208:12
[INFO] [stdout]     |
[INFO] [stdout] 205 | impl CombinedFrameWire {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub fn encode(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub fn unpack(&self) -> (Vec<u8>, Vec<u16>, u16, u16, f64) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:158:25
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn get_data_2d<'py>(&mut self, py: Python<'py>) -> PyResult<Bound<'py, PyArray2<f32>>> {
[INFO] [stdout]     |                         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:166:26
[INFO] [stdout]     |
[INFO] [stdout] 166 |     fn get_raw_data<'py>(&self, py: Python<'py>) -> Bound<'py, PyArray1<u16>> {
[INFO] [stdout]     |                          ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:170:17
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn __repr__(&self) -> String {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encodeAndCompress` should have a snake case name
[INFO] [stdout]   --> src/types.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `encode_and_compress`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decodeAndDecompress` should have a snake case name
[INFO] [stdout]   --> src/types.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> DepthFrameRealUnits {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_and_decompress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encodeAndCompress` should have a snake case name
[INFO] [stdout]    --> src/types.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `encode_and_compress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decodeAndDecompress` should have a snake case name
[INFO] [stdout]    --> src/types.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> (Vec<u8>, f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_and_decompress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encodeAndCompress` should have a snake case name
[INFO] [stdout]    --> src/types.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `encode_and_compress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decodeAndDecompress` should have a snake case name
[INFO] [stdout]    --> src/types.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_and_decompress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:192:17
[INFO] [stdout]     |
[INFO] [stdout] 192 |     fn __repr__(&self) -> String {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:272:16
[INFO] [stdout]     |
[INFO] [stdout] 272 |     fn connect(&mut self) -> PyResult<()> {
[INFO] [stdout]     |                ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:282:29
[INFO] [stdout]     |
[INFO] [stdout] 282 |     fn set_depth_intrinsics(&mut self, intrinsics: PyIntrinsics) {
[INFO] [stdout]     |                             ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:282:52
[INFO] [stdout]     |
[INFO] [stdout] 282 |     fn set_depth_intrinsics(&mut self, intrinsics: PyIntrinsics) {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:286:29
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn set_color_intrinsics(&mut self, intrinsics: PyIntrinsics) {
[INFO] [stdout]     |                             ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:286:52
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn set_color_intrinsics(&mut self, intrinsics: PyIntrinsics) {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:290:23
[INFO] [stdout]     |
[INFO] [stdout] 290 |     fn set_extrinsics(&mut self, extrinsics: PyExtrinsics) {
[INFO] [stdout]     |                       ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:290:46
[INFO] [stdout]     |
[INFO] [stdout] 290 |     fn set_extrinsics(&mut self, extrinsics: PyExtrinsics) {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:295:26
[INFO] [stdout]     |
[INFO] [stdout] 295 |     fn start_subscribing(&mut self) -> PyResult<()> {
[INFO] [stdout]     |                          ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:470:26
[INFO] [stdout]     |
[INFO] [stdout] 470 |     fn get_latest_frames(&self) -> PyFrameData {
[INFO] [stdout]     |                          ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:500:21
[INFO] [stdout]     |
[INFO] [stdout] 500 |     fn has_new_data(&self) -> bool {
[INFO] [stdout]     |                     ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:505:18
[INFO] [stdout]     |
[INFO] [stdout] 505 |     fn get_stats(&self) -> String {
[INFO] [stdout]     |                  ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:543:13
[INFO] [stdout]     |
[INFO] [stdout] 543 |     fn stop(&mut self) {
[INFO] [stdout]     |             ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:548:19
[INFO] [stdout]     |
[INFO] [stdout] 548 |     fn is_running(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/lib.rs:553:20
[INFO] [stdout]     |
[INFO] [stdout] 553 |     fn reset_stats(&self) {
[INFO] [stdout]     |                    ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/lib.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ImageEncoding` is never used
[INFO] [stdout]   --> src/types.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum ImageEncoding {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RGB8Local` is never constructed
[INFO] [stdout]   --> src/types.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct RGB8Local {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_meters_to_u16` is never used
[INFO] [stdout]   --> src/types.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn encode_meters_to_u16(meters: f32)     -> u16 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StampedTriple` is never constructed
[INFO] [stdout]   --> src/types.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct StampedTriple {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DepthFrameRealUnits` is never constructed
[INFO] [stdout]   --> src/types.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct DepthFrameRealUnits {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImageForWire` is never constructed
[INFO] [stdout]   --> src/types.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct ImageForWire {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ColorFrameSerializable` is never constructed
[INFO] [stdout]   --> src/types.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct ColorFrameSerializable {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `encodeAndCompress` and `decodeAndDecompress` are never used
[INFO] [stdout]   --> src/types.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl DepthFrameSerializable {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout] 78 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> DepthFrameRealUnits {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `encodeAndCompress` and `decodeAndDecompress` are never used
[INFO] [stdout]    --> src/types.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl ColorFrameSerializable {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout] 105 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> (Vec<u8>, f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Intrinsics` is never constructed
[INFO] [stdout]    --> src/types.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct Intrinsics {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Extrinsics` is never constructed
[INFO] [stdout]    --> src/types.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct Extrinsics {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `encodeAndCompress` are never used
[INFO] [stdout]    --> src/types.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 160 | impl MotionFrameData {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 161 |     pub fn new(gyro: [f32; 3], accel: [f32; 3], timestamp: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Frame` is never used
[INFO] [stdout]    --> src/types.rs:178:10
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub enum Frame {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ts` is never used
[INFO] [stdout]    --> src/types.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 183 | impl Frame {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 184 |     pub fn ts(&self) -> f64 {
[INFO] [stdout]     |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `encode` and `unpack` are never used
[INFO] [stdout]    --> src/types.rs:208:12
[INFO] [stdout]     |
[INFO] [stdout] 205 | impl CombinedFrameWire {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub fn encode(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub fn unpack(&self) -> (Vec<u8>, Vec<u16>, u16, u16, f64) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encodeAndCompress` should have a snake case name
[INFO] [stdout]   --> src/types.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `encode_and_compress`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decodeAndDecompress` should have a snake case name
[INFO] [stdout]   --> src/types.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> DepthFrameRealUnits {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_and_decompress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encodeAndCompress` should have a snake case name
[INFO] [stdout]    --> src/types.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `encode_and_compress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decodeAndDecompress` should have a snake case name
[INFO] [stdout]    --> src/types.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> (Vec<u8>, f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_and_decompress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encodeAndCompress` should have a snake case name
[INFO] [stdout]    --> src/types.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn encodeAndCompress(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `encode_and_compress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decodeAndDecompress` should have a snake case name
[INFO] [stdout]    --> src/types.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub fn decodeAndDecompress(encoded: Vec<u8>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_and_decompress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 09s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: num-bigint-dig v0.8.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "7da6a14b46b7e48eb9b159d9ec23315c2da7666fc3e2c40fe7b26272004d15e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7da6a14b46b7e48eb9b159d9ec23315c2da7666fc3e2c40fe7b26272004d15e0", kill_on_drop: false }`
[INFO] [stdout] 7da6a14b46b7e48eb9b159d9ec23315c2da7666fc3e2c40fe7b26272004d15e0
